package com.kiven.callback;

interface CallBack {
	//定义回调接口方法
	void execute();
}

public class Tools {
	public static void testMethod() {
		for(int i=0; i<100000; i++) {
			
		}
	}
	
	/**
	 * 测试函数使用时间，通过定义CallBack接口的execute方法
	 * @param callback
	 */
	public void testTime(CallBack callback) {
		Long begin = System.currentTimeMillis();//测试起始时间
		callback.execute();//进行回调操作
		Long end = System.currentTimeMillis();//测试结束时间
		System.out.println("[use time]:" + (end - begin));//打印使用时间
	}
	
	public static void main(String[] args) {
		Tools tool = new Tools();
		tool.testTime(new CallBack() {
			@Override
			public void execute() {
				//该代码块的内容是所要进行测试的方法,这里可以加放一个或多个要测试运行的时间
				Tools.testMethod();
			}
		});
	}
}
